<div class="section"><h2><a name="liquibase:diff"></a>
liquibase:diff</h2>
<p><strong>Full name</strong>:</p>
<p>org.liquibase:liquibase-plugin:1.9.4.0-SNAPSHOT:diff</p>
<p><strong>Description</strong>:</p>
<p>A Maven Mojo for performing Database Diffs.</p>
<p><strong>Attributes</strong>:</p>
<ul><li>Requires a Maven 2.0 project to be executed.</li>
<li>Requires dependency resolution of artifacts in scope: <code>test</code>.</li>
</ul>
<div class="section"><h3><a name="Optional_Parameters"></a>
Optional Parameters</h3>
<table class="bodyTable"><tr class="a"><th>Name</th>
<th>Type</th>
<th>Since</th>
<th>Description</th>
</tr>
<tr class="b"><td><strong><a href="#baseDefaultSchemaName">baseDefaultSchemaName</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The base database password to use to connect to the specified
database. If this is null then an empty password will be used. </td>
</tr>
<tr class="a"><td><strong><a href="#baseDriver">baseDriver</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The fully qualified name of the driver class to use to connect to
the base database. If this is not specified, then the
<code>driver</code> will be used instead. </td>
</tr>
<tr class="b"><td><strong><a href="#basePassword">basePassword</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The base database password to use to connect to the specified
database. If this is null then an empty password will be used. </td>
</tr>
<tr class="a"><td><strong><a href="#baseUrl">baseUrl</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The base database URL to connect to for executing Liquibase. If
performing a diff against a Hibernate config xml file, then use
<b>&quot;hibernate:PATH_TO_CONFIG_XML&quot;</b>
 as the URL. The path to the
hibernate configuration file can be relative to the test classpath
for the Maven project. </td>
</tr>
<tr class="b"><td><strong><a href="#baseUsername">baseUsername</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The base database username to use to connect to the specified
database. </td>
</tr>
<tr class="a"><td><strong><a href="#changeLogFile">changeLogFile</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>Specifies the change log file to use for Liquibase. </td>
</tr>
<tr class="b"><td><strong><a href="#clearCheckSums">clearCheckSums</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Flag for forcing the checksums to be cleared from teh
DatabaseChangeLog table. Default value is: <code>false</code>.</td>
</tr>
<tr class="a"><td><strong><a href="#contexts">contexts</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The Liquibase contexts to execute, which can be &quot;,&quot; separated if
multiple contexts are required. If no context is specified then ALL
contexts will be executed. </td>
</tr>
<tr class="b"><td><strong><a href="#defaultSchemaName">defaultSchemaName</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The default schema name to use the for database connection. </td>
</tr>
<tr class="a"><td><strong><a href="#diffChangeLogFile">diffChangeLogFile</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The diff change log file to output the differences to. If this is
null then the differences will be output to the screen. </td>
</tr>
<tr class="b"><td><strong><a href="#driver">driver</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The fully qualified name of the driver class to use to connect to
the database. </td>
</tr>
<tr class="a"><td><strong><a href="#dropFirst">dropFirst</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Whether or not to perform a drop on the database before executing
the change. Default value is: <code>false</code>.</td>
</tr>
<tr class="b"><td><strong><a href="#emptyPassword">emptyPassword</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td><strong>Deprecated</strong>. Use an empty string as the password for the database connection.
This should not be used along side the <code>password</code>
setting. Default value is: <code>false</code>.</td>
</tr>
<tr class="a"><td><strong><a href="#expressionVars">expressionVars</a>
</strong></td>
<td><code>Properties</code></td>
<td><code>-</code></td>
<td>Array to put a expression variable to maven plugin. </td>
</tr>
<tr class="b"><td><strong><a href="#includeArtifact">includeArtifact</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Allows for the maven project artifact to be included in the class
loader for obtaining the Liquibase property and DatabaseChangeLog
files. Default value is: <code>true</code>.</td>
</tr>
<tr class="a"><td><strong><a href="#logging">logging</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>Controls the level of logging from Liquibase when executing. The
value can be &quot;all&quot;, &quot;finest&quot;, &quot;finer&quot;, &quot;fine&quot;, &quot;info&quot;, &quot;warning&quot;,
&quot;severe&quot; or &quot;off&quot;. The value is case insensitive. Default value is: <code>INFO</code>.</td>
</tr>
<tr class="b"><td><strong><a href="#password">password</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The database password to use to connect to the specified database. </td>
</tr>
<tr class="a"><td><strong><a href="#promptOnNonLocalDatabase">promptOnNonLocalDatabase</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Controls the prompting of users as to whether or not they really
want to run the changes on a database that is not local to the
machine that the user is current executing the plugin on. Default value is: <code>true</code>.</td>
</tr>
<tr class="b"><td><strong><a href="#propertyFile">propertyFile</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The Liquibase properties file used to configure the Liquibase
<code>Liquibase</code>. </td>
</tr>
<tr class="a"><td><strong><a href="#propertyFileWillOverride">propertyFileWillOverride</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Flag allowing for the Liquibase properties file to override any
settings provided in the Maven plugin configuration. By default if
a property is explicity specified it is not overridden if it also
appears in the properties file. Default value is: <code>false</code>.</td>
</tr>
<tr class="b"><td><strong><a href="#url">url</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The Database URL to connect to for executing Liquibase. </td>
</tr>
<tr class="a"><td><strong><a href="#username">username</a>
</strong></td>
<td><code>String</code></td>
<td><code>-</code></td>
<td>The database username to use to connect to the specified database. </td>
</tr>
<tr class="b"><td><strong><a href="#verbose">verbose</a>
</strong></td>
<td><code>boolean</code></td>
<td><code>-</code></td>
<td>Controls the verbosity of the output from invoking the plugin. Default value is: <code>false</code>.</td>
</tr>
</table>
</div>
<div class="section"><h3><a name="Parameter_Details"></a>
Parameter Details</h3>
<p><strong><a name="baseDefaultSchemaName">baseDefaultSchemaName</a>
:</strong></p>
<p>The base database password to use to connect to the specified
database. If this is null then an empty password will be used.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.baseDefaultSchemaName}</code></li>
</ul>
<hr />
<p><strong><a name="baseDriver">baseDriver</a>
:</strong></p>
<p>The fully qualified name of the driver class to use to connect to
the base database. If this is not specified, then the
<code>driver</code> will be used instead.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.baseDriver}</code></li>
</ul>
<hr />
<p><strong><a name="basePassword">basePassword</a>
:</strong></p>
<p>The base database password to use to connect to the specified
database. If this is null then an empty password will be used.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.basePassword}</code></li>
</ul>
<hr />
<p><strong><a name="baseUrl">baseUrl</a>
:</strong></p>
<p>The base database URL to connect to for executing Liquibase. If
performing a diff against a Hibernate config xml file, then use
<b>&quot;hibernate:PATH_TO_CONFIG_XML&quot;</b>
 as the URL. The path to the
hibernate configuration file can be relative to the test classpath
for the Maven project.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.baseUrl}</code></li>
</ul>
<hr />
<p><strong><a name="baseUsername">baseUsername</a>
:</strong></p>
<p>The base database username to use to connect to the specified
database.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.baseUsername}</code></li>
</ul>
<hr />
<p><strong><a name="changeLogFile">changeLogFile</a>
:</strong></p>
<p>Specifies the change log file to use for Liquibase.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.changeLogFile}</code></li>
</ul>
<hr />
<p><strong><a name="clearCheckSums">clearCheckSums</a>
:</strong></p>
<p>Flag for forcing the checksums to be cleared from teh
DatabaseChangeLog table.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.clearCheckSums}</code></li>
<li><strong>Default</strong>: <code>false</code></li>
</ul>
<hr />
<p><strong><a name="contexts">contexts</a>
:</strong></p>
<p>The Liquibase contexts to execute, which can be &quot;,&quot; separated if
multiple contexts are required. If no context is specified then ALL
contexts will be executed.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.contexts}</code></li>
</ul>
<hr />
<p><strong><a name="defaultSchemaName">defaultSchemaName</a>
:</strong></p>
<p>The default schema name to use the for database connection.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.defaultSchemaName}</code></li>
</ul>
<hr />
<p><strong><a name="diffChangeLogFile">diffChangeLogFile</a>
:</strong></p>
<p>The diff change log file to output the differences to. If this is
null then the differences will be output to the screen.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.diffChangeLogFile}</code></li>
</ul>
<hr />
<p><strong><a name="driver">driver</a>
:</strong></p>
<p>The fully qualified name of the driver class to use to connect to
the database.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.driver}</code></li>
</ul>
<hr />
<p><strong><a name="dropFirst">dropFirst</a>
:</strong></p>
<p>Whether or not to perform a drop on the database before executing
the change.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.dropFirst}</code></li>
<li><strong>Default</strong>: <code>false</code></li>
</ul>
<hr />
<p><strong><a name="emptyPassword">emptyPassword</a>
:</strong></p>
<p>Use an empty string as the password for the database connection.
This should not be used along side the <code>password</code>
setting.</p>
<ul><li><strong>Deprecated</strong>: <code>Use an empty or null value for the password instead.</code></li>
<li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.emptyPassword}</code></li>
<li><strong>Default</strong>: <code>false</code></li>
</ul>
<hr />
<p><strong><a name="expressionVars">expressionVars</a>
:</strong></p>
<p>Array to put a expression variable to maven plugin.</p>
<ul><li><strong>Type</strong>: <code>java.util.Properties</code></li>
<li><strong>Required</strong>: <code>No</code></li>
</ul>
<hr />
<p><strong><a name="includeArtifact">includeArtifact</a>
:</strong></p>
<p>Allows for the maven project artifact to be included in the class
loader for obtaining the Liquibase property and DatabaseChangeLog
files.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.includeArtifact}</code></li>
<li><strong>Default</strong>: <code>true</code></li>
</ul>
<hr />
<p><strong><a name="logging">logging</a>
:</strong></p>
<p>Controls the level of logging from Liquibase when executing. The
value can be &quot;all&quot;, &quot;finest&quot;, &quot;finer&quot;, &quot;fine&quot;, &quot;info&quot;, &quot;warning&quot;,
&quot;severe&quot; or &quot;off&quot;. The value is case insensitive.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.logging}</code></li>
<li><strong>Default</strong>: <code>INFO</code></li>
</ul>
<hr />
<p><strong><a name="password">password</a>
:</strong></p>
<p>The database password to use to connect to the specified database.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.password}</code></li>
</ul>
<hr />
<p><strong><a name="promptOnNonLocalDatabase">promptOnNonLocalDatabase</a>
:</strong></p>
<p>Controls the prompting of users as to whether or not they really
want to run the changes on a database that is not local to the
machine that the user is current executing the plugin on.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.promptOnNonLocalDatabase}</code></li>
<li><strong>Default</strong>: <code>true</code></li>
</ul>
<hr />
<p><strong><a name="propertyFile">propertyFile</a>
:</strong></p>
<p>The Liquibase properties file used to configure the Liquibase
<code>Liquibase</code>.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.propertyFile}</code></li>
</ul>
<hr />
<p><strong><a name="propertyFileWillOverride">propertyFileWillOverride</a>
:</strong></p>
<p>Flag allowing for the Liquibase properties file to override any
settings provided in the Maven plugin configuration. By default if
a property is explicity specified it is not overridden if it also
appears in the properties file.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.propertyFileWillOverride}</code></li>
<li><strong>Default</strong>: <code>false</code></li>
</ul>
<hr />
<p><strong><a name="url">url</a>
:</strong></p>
<p>The Database URL to connect to for executing Liquibase.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.url}</code></li>
</ul>
<hr />
<p><strong><a name="username">username</a>
:</strong></p>
<p>The database username to use to connect to the specified database.</p>
<ul><li><strong>Type</strong>: <code>java.lang.String</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.username}</code></li>
</ul>
<hr />
<p><strong><a name="verbose">verbose</a>
:</strong></p>
<p>Controls the verbosity of the output from invoking the plugin.</p>
<ul><li><strong>Type</strong>: <code>boolean</code></li>
<li><strong>Required</strong>: <code>No</code></li>
<li><strong>Expression</strong>: <code>${liquibase.verbose}</code></li>
<li><strong>Default</strong>: <code>false</code></li>
</ul>
</div>
</div>
